package dao;

import java.util.List;

import org.hibernate.Transaction;
import org.hibernate.classic.Session;
//import org.hibernate.Session;

import util.HibernateUtil;

import model.Contato;

public class ContatoDaoImpl implements ContatoDAO{

	@Override
	public void gravar(Contato contato) {
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction t = session.beginTransaction();
		session.save(contato);
	}
	
	public Contato getContato(long id){
		Session session = HibernateUtil.getSessionFactory().openSession();
		return (Contato) session.load(Contato.class, id);
		
	}
	
	

	@Override
	public List<Contato> ListarTodos() {
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction t = session.beginTransaction();
		List lista = session.createQuery("from Contato").list();
		t.commit();		
		return lista;
	}

	@Override
	public void remover(Contato contato) {
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction t = session.beginTransaction();
		session.delete(contato);
		t.commit();
		
	}

	@Override
	public void alterar(Contato contato) {
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction t = session.beginTransaction();
		session.update(contato);
		t.commit();
		
	}
	

}
